Functional pearl: implicit configurations--or, type classes reflect the values of types